package com.atguigu.exercise;

import com.atguigu.util.Utility;

/**
 * @author : leimingchao
 * @date Date : 2021年07月21日 0:36
 */
public class FamilyAccount {

    public static void main(String[] args) {
        boolean isFlag = true;
        //用户记录用户的收入和支出的详情
        String details = "收支\t\t\t账户金额\t\t\t收支金额\t\t\t说明\n";
        int balance = 10000;
        while (isFlag) {
            System.out.println("-----------------家庭收支记账软件-----------------\n");
            System.out.println("                    1 收支明细");
            System.out.println("                    2 登记收入");
            System.out.println("                    3 登记支出");
            System.out.println("                    4 退    出\n");
            System.out.print("                    请选择(1-4): ");
            //获取用户选择
            char selection = Utility.readMenuSelection();

            switch (selection) {
                case '1':
                    System.out.println("--------------------当前收支明细记录-----------------------");
                    System.out.println(details);
                    System.out.println("----------------------------------------------------------");
                    break;
                case '2':
                    System.out.print("本次收入金额:");
                    int addMoney = Utility.readNumber();
                    System.out.print("本次收入说明:");
                    String addInfo = Utility.readString();
                    balance += addMoney;
                    details += "收入\t\t\t" + balance + "\t\t\t" + addMoney + "\t\t\t\t" + addInfo + "\n";
                    System.out.println("--------------------登记完成-----------------------\n\n");
                    break;
                case '3':
                    System.out.print("本次支出金额:");
                    int minusMoney = Utility.readNumber();
                    System.out.print("本次支出说明:");
                    String minusInfo = Utility.readString();
                    if (balance >= minusMoney) {
                        balance -= minusMoney;
                        details += "支出\t\t\t" + balance + "\t\t\t" + minusMoney + "\t\t\t\t" + minusInfo + "\n";
                    } else {
                        System.out.println("支出超出账户额度，支出失败");
                    }

                    System.out.println("--------------------登记完成-----------------------\n\n");
                    break;
                case '4':
                    System.out.println("确认是否退出(Y/N):");
                    char isExit = Utility.readConfirmSelection();
                    if (isExit == 'Y') {
                        isFlag = false;
                    }
                    break;

            }
        }
    }
}
